#pragma once
#include "BondInfo.h"
#include "bondlib.h"
////////////////////////////////////////////
// 增续发券
class S_BONDLIB_EXPORT CAdditionBondInfo {
 public:
  CAdditionBondInfo();
  CAdditionBondInfo(const CAdditionBondInfo& one);
  ~CAdditionBondInfo();

 public:
  void Clear();  // 初始化数据

  void SetNoAddIssue(int nNoAddIssue);                     // m_nNoAddIssue
  void SetAddDistDateStart(const char* AddDistDateStart);  // m_sAddDistDateStart
  void SetAddDistDateEnd(const char* AddDistDateEnd);      // m_sAddDistDateEnd
  void SetAddIssueCommissionRate(
      double fAddIssueCommissionRate);           // m_fAddIssueCommissionRate
  void SetAddIssuePrice(double fAddIssuePrice);  // m_fAddIssuePrice
  void SetAnnStatus(const char* sAnnStatus);     // m_sAnnStatus
  void SetFirstIssueKey(const char* sFirstIssueKey);  // m_sFirstIssueKey
  void SetFirstIssueID(const char* sFirstIssueID);    // m_sFirstIssueID
  void SetBidOutcome(const char* sBidOutcome);        // m_sBidOutcome
  void SetAutcionType(const char* sAutcionType);      // m_sAutcionType
  void SetAuctionTimeStart(int nAuctionTimeStart);    // m_nAuctionTimeStart
  void SetAuctionTimeEnd(int nAuctionTimeEnd);        // m_nAuctionTimeEnd
  void SetReason(const char* sReason);                // m_sReason

  int GetNoAddIssue() const;             // m_nNoAddIssue
  const char* GetAddDistDateStart();     // m_sAddDistDateStart
  const char* GetAddDistDateEnd();       // m_sAddDistDateEnd
  double GetAddIssueCommissionRate();    // m_fAddIssueCommissionRate
  double GetAddIssuePrice();             // m_fAddIssuePrice
  const char* GetAnnStatus();            // m_sAnnStatus
  const char* GetFirstIssueKey() const;  // m_sFirstIssueKey
  const char* GetFirstIssueID();         // m_sFirstIssueID
  const char* GetBidOutcome();           // m_sBidOutcome
  const char* GetReason();               // m_sReason
  const char* GetAutcionType();          // m_sAutcionType
  int GetAuctionTimeStart();             // m_nAuctionTimeStart
  int GetAuctionTimeEnd();               // m_nAuctionTimeEnd

  //////////////////////////////////////////////////////////////////////

 private:
  int m_nNoAddIssue;                 // 第几次增续发
  tDate8 m_sAddDistDateStart;        // 增续发分销开始日
  tDate8 m_sAddDistDateEnd;          // 增续发分销结束日
  double m_fAddIssueCommissionRate;  // 增/续发手续费率(%)
  double m_fAddIssuePrice;           // 增/续标售价格(元)
  char m_sAnnStatus[3];              // 流通要素状态
  char m_sFirstIssueKey[42];         // 原券Bondkey
  char m_sFirstIssueID[20];          // 原券代码
  char m_sBidOutcome[16];            // 发行收益率，参考收益率 2.6246
  char m_sAutcionType[8];            // 发行方式
  int m_nAuctionTimeStart;           // 发行开始时间
  int m_nAuctionTimeEnd;             // 发行结束时间
  std::string m_sReason;             // 增续发原因
  // char			AddFullName;
  // //增续发券全称			<-- m_sFullName char
  // AddIssueKey[36];			//增续发券BondKey		<--
  // m_sBondKey char			AddIssueID[16+1];
  // //增/续发债券代码		<-- m_sBondID tDate8
  // AddAnnounceDate[8+1];		//增续发公告日期		<--
  // m_sAnnounceDate tDate8		AddAuctionDate[8+1];
  // //增续发招标建档日		<-- m_sAuctionDateStart, m_sAuctionDateEnd
  // tDate8		AddIssueStartDate[8+1];		//增续发发行起始日
  // <-- m_sIssueStartDate tDate8		AddIssueEndDate[8+1];
  // //增续发发行结束日		<-- m_sIssueEndDate tDate8
  // AddPaymentDate[8+1];		//增续发承销缴款日		<--
  // m_sPaymentDate tDate8		AddListedDate[8+1];
  // //增续发上市日			<-- m_sListDate double
  // AddPlannedIssueAmount;		//计划增/续发总额(万元)	<--
  // m_fPlannedIssueAmount double		AddIssueAmount;
  // //实际增/续发总额(万元)	<-- m_fActualIssueAmount char
  // AddIssueShortName[16+1];	//增续发券简称			<-- m_sShortName
  // char			MktType[3+1]; //市场类型
  // <-- m_sMarketType
};
